package LeetCode;

import java.util.ArrayList;
import java.util.Scanner;

//
// Created by ✎﹏ℳ๓独赏☆独醉 on 2024/4/21.
// 
public class Z字形变换 {
//    https://leetcode.cn/problems/zigzag-conversion/
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = convert(scan.next(),scan.nextInt());
        System.out.println(str);
    }
    public static String convert(String s, int numRows) {
        if (numRows == 1 || numRows > s.length()){
            return s;
        }
        String str = "";
        ArrayList<StringBuilder> list = new ArrayList<>();
        for (int i = 0; i < numRows; i++) {
            list.add(new StringBuilder());
        }
        int temp = 0;
        int column = 0;
        while(temp < s.length()){
            while (column < numRows && temp < s.length()){
                list.get(column++).append(s.charAt(temp++));
            }
            column-=2;
            while(column > 0 && temp < s.length()){
                list.get(column--).append(s.charAt(temp++));
            }
        }
        for (int i = 0; i < list.size(); i++) {
            str += list.get(i);
        }
        return str;
    }
//    public static String convert(String s, int numRows) {
//        if (numRows == 1 || numRows > s.length()){
//            return s;
//        }
//        String str = "";
//        ArrayList<ArrayList<Character>> list = new ArrayList<>();
//        for (int i = 0; i < numRows; i++) {
//            list.add(new ArrayList<>());
//        }
//        int temp = 0;
//        int column = 0;
//        while(temp < s.length()){
////            for (int i = 0; i < numRows && temp < s.length(); i++) {
////                list.get(column++).add(s.charAt(temp++));
////            }
//            while (column < numRows && temp < s.length()){
//                list.get(column++).add(s.charAt(temp++));
//            }
//            column-=2;
////            for (int i = column; i > 0 && temp < s.length(); i--) {
////                list.get(column--).add(s.charAt(temp++));
////            }
//            while(column > 0 && temp < s.length()){
//                list.get(column--).add(s.charAt(temp++));
//            }
//        }
//        for (ArrayList<Character> characters : list) {
//            for (Character character : characters) {
//                str += character;
//            }
//        }
//        return str;
//    }
//    public static String convert(String s, int numRows) {
//        String str = "";
//        for (int i = 0; i < s.length(); i+=(2*(numRows -1))) {
//            str += s.charAt(i);
//        }
//        for (int i = 1; i < numRows-1; i++) {
//
//        }
//        return str;
//    }
//    public static String convert(String s, int numRows) {
//        String str = "";
//        char[][] arr = new char[numRows][100];
//        int temp = 0;
//        int column = 0,line = 0;
//        while (temp < s.length()){
//            for (int i = temp; i < temp + numRows && i < s.length(); i++) {
//                arr[column++][line] = s.charAt(i);
//            }
//            temp += numRows-1;
//            column--;
//            for (int i = column; i > 0 ; i--) {
//                arr[column--][++line] = s.charAt(temp++);
//            }
//        }
//        for (int i = 0; i < arr.length; i++) {
//            for (int j = 0; j < arr[0].length; j++) {
//                if(arr[i][j] != ' '){
//                    str += arr[i][j];
//                }
//            }
//        }
//        return str;
//    }

}
